.model small

buferioDydis	EQU	121
					
.stack 100h

.data
	bufDydis DB  buferioDydis
	nuskaite DB  ?
	buferis	 DB  buferioDydis dup ('$')
	ivesk	 DB  'Iveskite eilute:', 13, 10, '$'
	rezult	 DB  'Radau tiek didziuju raidziu: '
	rezult2	 DB  3 dup (' ')
	enteris	 DB  13, 10, '$'

.code

Pradzia:
	MOV	ax, @data
	MOV	ds, ax

;****nuskaito eilute****
	MOV	ah, 9
	MOV	dx, offset ivesk
	INT	21h

	MOV	ah, 0Ah
	MOV	dx, offset bufDydis
	INT	21h

	MOV	ah, 9
	MOV	dx, offset enteris
	INT	21h

;****algoritmas****
	XOR	ch, ch
	SUB	ax, ax
	MOV	cl, nuskaite
	MOV	bx, offset buferis
	MOV	dl, 32

ciklas1:
	CMP	dl, [ds:bx]
	JE	lygu
	JNE 	nelygu
	INC	ax


lygu:

	MOV	ah, 9
	ADD     cx, 30h
	MOV	dx, cx
	INT	21h	
	SUB     cx, 1h   ;;Atimam vieneta kad parasytumem nuo nulio


nelygu:
	MOV	ah, 9
	MOV	dx, [ds:bx]
	INT	21h	

	INC	bx
	DEC	cx
	CMP	cx, 0
	JG	ciklas1

;****Spausdinimas****
	MOV	dl, 10
	DIV	dl
	MOV	[rezult2 + 2], ah
	ADD	[rezult2 + 2], 030h
	XOR	ah, ah
	DIV	dl
	MOV	[rezult2 + 1], ah
	ADD	[rezult2 + 1], 030h
	MOV	[rezult2], al
	ADD	[rezult2], 030h

	MOV	ah, 9
	MOV	dx, offset rezult
	INT	21h

	MOV	ah, 4Ch
	MOV	al, 0
	INT	21h

END	Pradzia		